{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2\n",
    "\n",
    "import sys \n",
    "from os import getcwd, path\n",
    "sys.path.append(path.dirname(getcwd()))\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [],
   "source": [
    "from utils import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from cohorts.utils import first_not_none_param\n",
    "from cohorts.variant_filters import no_filter\n",
    "from varcode.effects import Substitution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "autoscroll": "json-false",
    "collapsed": false,
    "ein.tags": [
     "worksheet-0"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overriding VCF dir (/home/tavi/ct/bladder/vcfs-indelrealigned-bqsr) to use without-BQSR VCFs: /home/tavi/ct/bladder/vcfs\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'dataframe_hash': -2899676230513618006,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+2.g78ce133',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.1',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.2+1.gb8119b4'}}\n"
     ]
    }
   ],
   "source": [
    "cohort_without_bqsr = data.init_cohort(\n",
    "    without_bqsr=True,\n",
    "    cache_data_dir=\"/home/tavi/bladder-analyses/data/cache-without-bqsr\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Overriding VCF dir (/home/tavi/ct/bladder/vcfs-indelrealigned-bqsr) to use without-BQSR VCFs: /home/tavi/ct/bladder/vcfs\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'dataframe_hash': -2899676230513618006,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+2.g78ce133',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.1',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.2+1.gb8119b4'}}\n"
     ]
    }
   ],
   "source": [
    "cohort_without_bqsr_or_filters = data.init_cohort(\n",
    "    without_bqsr=True,\n",
    "    filter_fn=no_filter,\n",
    "    cache_data_dir=\"/home/tavi/bladder-analyses/data/cache-without-bqsr\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'dataframe_hash': -2899676230513618006,\n",
      " 'provenance_file_summary': {u'cohorts': u'0.4.0+3.gda968fb',\n",
      "                             u'isovar': u'0.0.6',\n",
      "                             u'mhctools': u'0.3.0',\n",
      "                             u'numpy': u'1.11.1',\n",
      "                             u'pandas': u'0.18.1',\n",
      "                             u'pyensembl': u'1.0.3',\n",
      "                             u'scipy': u'0.18.1',\n",
      "                             u'topiary': u'0.1.0',\n",
      "                             u'varcode': u'0.5.10'}}\n"
     ]
    }
   ],
   "source": [
    "cohort_with_bqsr = data.init_cohort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def missense_effects(cohort, filter_fn=None):\n",
    "    filter_fn = first_not_none_param([filter_fn, cohort.filter_fn], no_filter)\n",
    "    def missense_filter_fn(filterable_effect):\n",
    "        assert filter_fn is not None, \"filter_fn should never be None, but it is.\"\n",
    "        return (type(filterable_effect.effect) == Substitution and\n",
    "                filter_fn(filterable_effect))\n",
    "    return cohort.load_effects(\n",
    "        only_nonsynonymous=True,\n",
    "        filter_fn=missense_filter_fn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "with_bqsr_effects = missense_effects(cohort_with_bqsr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "without_bqsr_effects = missense_effects(cohort_without_bqsr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "without_bqsr_or_filters_effects = missense_effects(cohort_without_bqsr_or_filters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def num_bqsr_with_without(row):\n",
    "    patient_id = row[\"patient_id\"]\n",
    "    # Effects aren't hashable\n",
    "    with_bqsr_effects_patient = set([effect.variant for effect in with_bqsr_effects[patient_id]])\n",
    "    without_bqsr_effects_patient = set([effect.variant for effect in without_bqsr_effects[patient_id]])\n",
    "    return len(without_bqsr_effects_patient.difference(with_bqsr_effects_patient))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def num_bqsr_with_without_or_filters(row):\n",
    "    patient_id = row[\"patient_id\"]\n",
    "    # Effects aren't hashable\n",
    "    with_bqsr_effects_patient = set([effect.variant for effect in with_bqsr_effects[patient_id]])\n",
    "    without_bqsr_or_filters_effects_patient = set([effect.variant for effect in without_bqsr_or_filters_effects[patient_id]])\n",
    "    return len(without_bqsr_or_filters_effects_patient.difference(with_bqsr_effects_patient))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from cohorts.functions import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from utils.paper import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mann-Whitney test: U=104.5, p-value=0.0678354181387 (two-sided)\n",
      "{{{bqsr_diff_plot}}}\n",
      "{{{bqsr_diff_benefit:14.00 (range 2.00-219.00)}}}\n",
      "{{{bqsr_diff_no_benefit:3.00 (range 0.00-69.00)}}}\n",
      "{{{bqsr_diff_mw:n=25, Mann-Whitney p=0.068}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f368e9b7610>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort_with_bqsr.plot_benefit(num_bqsr_with_without),\n",
    "                                 label=\"bqsr_diff\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mann-Whitney test: U=119.5, p-value=0.00778250321954 (two-sided)\n",
      "{{{bqsr_and_filter_diff_plot}}}\n",
      "{{{bqsr_and_filter_diff_benefit:196.00 (range 53.00-399.00)}}}\n",
      "{{{bqsr_and_filter_diff_no_benefit:76.00 (range 16.00-553.00)}}}\n",
      "{{{bqsr_and_filter_diff_mw:n=25, Mann-Whitney p=0.0078}}}\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAGLCAYAAAALct/tAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlclWX+//HXzSoq4K4gLikqLinmXpYJZqM2js5UzlRa\nqWmGTjMpmvXNsjK1UsvIcSkn7ddqRWXlkmDmUilmWrkFliYghsqmyGG5f38QZzyiwa0HDwfez8eD\nh5zrvs993kePfLju676vyzBN00RERMSJPFwdQEREqh4VFxERcToVFxERcToVFxERcToVFxERcToV\nFxERcTqXFZedO3cyZswYrr32Wq655hr++te/8v777zvsk5WVxaOPPkrv3r3p2rUr9957LwcPHix1\nLJvNxty5c+nbty9dunTh73//OwkJCVfqrYiIyHlcUlwOHDjA6NGjKSgo4Omnn+bll1/m6quv5tFH\nH+Xtt9+27zd+/Hi2bt3KjBkzeOmllygoKGDUqFGkpaU5HG/69Om8//77/Otf/2LJkiU0bNiQMWPG\nsH///iv91kREBMB0gXnz5pmdOnUyc3NzHdpHjBhhjhgxwjRN0/z888/NsLAwc/v27fbt2dnZZs+e\nPc2nn37a3rZv3z6zXbt2ZmxsrL2toKDAvPnmm80JEyZU8DsREZEL8XJFQcvPz8fb25saNWo4tNeu\nXZvs7GwA4uPjadSoET169HDY3r9/f+Li4nj00UcBiIuLw9vbm0GDBtn38/T0ZMiQISxbtsz+Wn/k\n7Nmz/PDDDzRs2BBPT09nvU0RkSqrsLCQ3377jU6dOpX6WQ7gkuLy17/+lbfffpunn36acePG4efn\nx5o1a/j666957rnnAEhKSqJNmzalnhsaGspHH31Ebm4ufn5+JCUlERISgq+vb6n98vPzOXLkCK1b\nt/7DPD/88AN33nmn896giEg18cYbb9C9e/dS7S4pLm3atGHlypVMnDiR//f//h8A3t7ezJw5094D\nycjIICQkpNRzAwMDgeLBfj8/PzIzM+1t56pTp479OGVp2LAhUPyX1KRJk0t7UyIi1cixY8e48847\n7T8/z+eS4nL48GH++c9/0rZtW5588kl8fX2Ji4vj8ccfx9fXl1tuueWK5ik5FdakSZMLFjQREbmw\niw0luKS4zJs3D29vb/7zn//g5VUcoXfv3pw6dYpZs2Zxyy23EBgYSGZmZqnnlrQFBATY/0xJSSm1\n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\nP37ZgURExP1d1tViAD4+PgQHB9OoUSOnhRIREfd2SVeLpaenk5KSQl5eHvn5+Rw+fJjDhw8DmtxS\nREQsFpf09HSmTp3KV199dcHtrlrPRUREKhdLxeXJJ5+84CJhIiIi57JUXL755hsMw6BevXp069aN\nmjVrljnXmIiIVD+WikvJlWJvvfUWzZs3r5BAIiLi/izdoX/DDTcA4OnpWSFhRESkarBUXO688078\n/f2ZNGkSmzZt4siRI6SkpDh8iYiIWDot9o9//APDMNi3bx/3339/qe26WkxERMCJd+iLiIiUsFRc\nhg8fXlE5RESkCrFUXGbPnl1ROUREpApxynouIiIi51JxERERp1NxERERp1NxERERp1NxERERp1Nx\nERERp1NxERERp1NxERERp1NxERERp1NxERERp1NxERERp1NxERERp1NxERERp7O8nktVVFhYCMCx\nY8dcnERExD2U/Lws+fl5PhUX4LfffgOKl3EWEZHy++2332jRokWpdsPU0pKcPXuWH374gYYNG+Lp\n6enqOCIilV5hYSG//fYbnTp1okaNGqW2q7iIiIjTaUBfREScTsVFREScTsVFREScTsVFREScTpci\nV3GxsbFMnz6dgIAA4uLi8Pf3t28rLCykY8eOTJw4kYkTJzrttUr4+flRt25dOnTowJAhQxg0aNAF\nn3fq1CmWL1/Oxo0bSU5OxjRNmjVrRv/+/Rk1ahQNGjQAICIigpSUFIfjN2vWjNtvv5277rrrsvOL\ne7iUz5k+Y1eeiks1kZ2dzbJly3jooYcq9HUMw2DhwoU0btwYm81GSkoKmzZtYvLkybz77rssWbIE\nHx8f+/6JiYmMHj0awzAYNWoUHTt2BGDfvn288847/Pzzz7z00kv2/a+//nomTZoEQE5ODhs3buTp\np5+moKCAe+65p0Lfm1QeVj5n+oy5iClV2gcffGC2a9fOHDNmjBkeHm6eOHHCvq2goMBs166d+dJL\nLznttcLCwswjR46U2rZ+/XozLCzMfOqppxxe/09/+pM5cOBA8+TJk6WeU1hYaH7xxRf2x/379zej\no6NL7fePf/zDvP32253yHqTys/I502fMdTTmUg0YhsGECRMAWLRoUZn779mzh3vuuYeuXbvStWtX\n7rnnHvbs2XNZGW666SYiIyNZtWoVeXl5AKxfv56ff/6ZKVOmULdu3VLP8fDwoF+/fmUeu3bt2uTn\n519WPqkazv+c6TPmOiou1USjRo248847effdd0lNTb3ofvv372fkyJFkZ2fz7LPP8uyzz5KTk8PI\nkSM5cODAZWXo168fNpuN77//HoCvvvoKLy8vbrjhhnIfwzRNCgsLKSwsJCsriw8//JBt27YxZMiQ\ny8omVce5nzN9xlxHYy7VyH333cc777xDTEwMs2bNuuA+ixYtwtfXlxUrVlC7dm0A+vTpQ2RkJC+/\n/DILFy685NcPCgrCNE37XG6pqanUrVsXX1/fch9j9erVrF692v7YMAxuu+02xowZc8m5pGoJCgoC\niue80mfMdVRcqpHAwEDuvfdeFi1axH333UezZs1K7ZOQkMCNN95oLyxQfEogIiKCjRs3Xtbrm7/P\nNGQYxiUfo1+/fjz44IOYpklubi7ff/89MTExeHl5MWPGjMvKJ1XD5X7O9BlzDp0Wq2buueceAgIC\nLtoDyczMpGHDhqXaGzRoQFZW1mW99rFjxzAMw378oKAgTp06ZR+DKY/AwEA6dOhAx44d6d69O/fe\ney8PPPAAb731FklJSZeVT6qGkqngGzZsqM+YC6m4VDM1a9Zk3LhxrF27ln379pXaHhgYSHp6eqn2\n9PR0AgICLuu1N27ciK+vL506dQKKT7cVFhby5ZdfXtZxQ0NDATh48OBlHUeqhnM/Z3369KGgoECf\nMRdQcamG7rjjDho3bswLL7xQ6tRBjx492LRpE2fOnLG35eTkEB8fT69evS75NdetW8fGjRv5xz/+\nYT//PXDgQFq2bMnzzz/PyZMnSz2nsLCQTZs2lXnskgsN6tWrd8n5pGo4/3M2cOBArrrqKn3GXEBj\nLtWQj48PDzzwAI899lip4vLAAw+wadMm7r77bu677z4Ali1bRl5eHlFRUWUe2zRN9u7dy8mTJ8nP\nzyclJYUvvviCtWvX0rdvX/7973/b9/X09CQmJobRo0czbNgwRo0aZe/V7N+/n3fffZfWrVs7XCp6\n6tQpdu/eDRSvw7N7924WL15M+/bt6dGjx2X/3Yh7KO/nTJ8x19F6LlVcbGwsjzzyCOvXr3cYwC8s\nLGTw4MEcOXKEqKgoh+lf9uzZwwsvvMB3332HaZp07dqVhx56yP6fsqzXKuHr60u9evXo2LEjf/7z\nnxk4cOAFn5eRkcHy5cuJj4+3T83RokULIiIiGDlypP23xYiICIfLqH18fAgODmbAgAHcd999l33a\n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\nuACQTrgAkO4J3j6xCfZOoVoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f368d828550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mann_whitney_hyper_label_printer(cohort_with_bqsr.plot_benefit(\n",
    "        num_bqsr_with_without_or_filters), label=\"bqsr_and_filter_diff\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  },
  "name": "TCR Clonality.ipynb"
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
